package com.travel.server.manager.dto.response.customer;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Author: LiZhenhui
 * @Date: 2018/11/9 17:07
 * @Desc:
 */
@Data
public class QueryCustomerInfoDetailResponse {

    private String name;

    private String nick;

    private String mobile;

    @JSONField(name = "be_customer_time", format = "yyyy-MM-dd HH:mm:ss")
    private Date beCustomerTime;

    @JSONField(name = "last_invite")
    private String lastInvite;

    private String sex;

    @JSONField(name = "birth_date", format = "yyyy-MM-dd")
    private Date birthDate;

    @JSONField(name = "wechat_number")
    private String wechatNumber;

    private String note;

    @JSONField(name = "live_country")
    private String liveCountry;

    @JSONField(name = "live_province")
    private String liveProvince;

    @JSONField(name = "live_city")
    private String liveCity;

    @JSONField(name = "live_area")
    private String liveArea;

    @JSONField(name = "live_address")
    private String liveAddress;

    private String mail;

    @JSONField(name = "member_grade")
    private String memberGrade;

    @JSONField(name = "member_grade_id")
    private Integer memberGradeId;

    private String source;

    private String school;

    private String major;

    private String hobby;

    @JSONField(name = "graduate_date", format = "yyy-MM-dd")
    private Date graduateDate;

    private String identity;

    @JSONField(name = "garment_size")
    private String garmentSize;

    @JSONField(name = "work_industry")
    private String workIndustry;

    private String occupation;

    @JSONField(name = "available_coupon")
    private String availableCoupon;

    @JSONField(name = "available_scores")
    private String availableScores;

    @JSONField(name = "member_right")
    private String memberRight;

    @JSONField(name = "last_order_time", format = "yyyy-MM-dd HH:mm:ss")
    private Date lastOrderTime;

    @JSONField(name = "guest_price")
    private String guestPrice = "0";

    @JSONField(name = "total_consume_Amount")
    private String totalConsumeAmount;

    @JSONField(name = "total_consume_order")
    private Integer totalConsumeOrder;

    @JSONField(name = "total_refund_amount")
    private String totalRefundAmount;

    @JSONField(name = "total_refund_order")
    private Integer totalRefundOrder;

    @JSONField(name = "tag_list")
    private List<CustomerTagItem> tagList = new ArrayList<>();

    @Data
    public static class CustomerTagItem{
        @JSONField(name = "tag_id")
        private Integer tagId;

        @JSONField(name = "tag_name")
        private String tagName;
    }
}
